﻿#ifndef STATUSLIGHTWIDGET_H
#define STATUSLIGHTWIDGET_H

#include <QWidget>

/**
 * @brief 状态灯
 */
class StatusLightWidget : public QWidget
{
    Q_OBJECT
public:
    explicit StatusLightWidget(QWidget *parent = nullptr, const QColor& color = Qt::green, quint32 size = 20);

    /**
     * @brief setSize 设置状态灯的尺寸
     * @param size
     */
    void setSize(quint32 size);

    /**
     * @brief getSize 获取状态灯的尺寸
     * @return
     */
    quint32 getSize()const;

    /**
     * @brief setColor 设置状态灯的颜色
     * @param color
     */
    void setColor(const QColor& color);

    /**
     * @brief getColor 获取状态灯的颜色
     * @return
     */
    QColor getColor()const;

signals:

protected:
    // 自定义绘制
    void paintEvent(QPaintEvent *event) override;

private:
    /**
     * @brief size_ 状态灯的尺寸
     */
    quint32 size_;

    /**
     * @brief color_ 状态灯的颜色
     */
    QColor color_;
};

#endif // STATUSLIGHTWIDGET_H
